Case Studies on Invariant Generation Using a Saturation Theorem Prover

نویسندگان

  • Krystof Hoder
  • Laura Kovács
  • Andrei Voronkov
چکیده

Automatic understanding of the intended meaning of computer programs is a very hard problem, requiring intelligence and reasoning. In this paper we evaluate a program analysis method, called symbol elimination, that uses firstorder theorem proving techniques to automatically discover non-trivial program properties. We discuss implementation details of the method, present experimental results, and discuss the relation of the program properties obtained by our implementation and the intended meaning of the programs used in the experiments.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Reasoning About Loops Over Arrays using Vampire

The search for automated loop invariants generation has been popularly pursued due to the fact that invariants play a critical role in the verification process. Invariants with quantifiers are particularly interesting for these quantified invariants can be used to express relationships among the elements of array variables and other scalar variables. Automated invariant generation using a first...

متن کامل

Quantified Invariant Generation Using an Interpolating Saturation Prover

Interpolating provers have a variety of applications in verification, including invariant generation and abstraction refinement. Here, we extended these methods to produce universally quantified interpolants and invariants, allowing the verification of programs manipulating arrays and heap data structures. We show how a paramodulation-based saturation prover, such as SPASS, can be modified in a...

متن کامل

Reasoning About Loops Using Vampire in KeY

We describe symbol elimination and consequence nding in the rst-order theorem prover Vampire for automatic generation of quanti ed invariants, possibly with quanti er alternations, of loops with arrays. Unlike the previous implementation of symbol elimination in Vampire, our work is not limited to a speci c programming language but provides a generic framework by relying on a simple guarded com...

متن کامل

Reasoning About Loops Using Vampire

In 2009, the symbol elimination method for loop invariant generation was introduced [8], which used saturation theorem proving in first-order logic to generate quantified invariants of programs with arrays. Symbol elimination is fully automatic, requires no user guidance, and it is the first ever approach able to generate invariants with alternations of quantifiers. In this paper we describe a ...

متن کامل

A Prover for the μ CRL Toolset with Applications —

This document describes an automated theorem prover, based on an extension of binary decision diagrams. The prover transforms quantifier-free formulae into equivalent BDD-forms, w.r.t. to some algebraic data specification. The prover is used by four tools for the symbolic analysis of distributed systems specified in μCRL (i.e. process algebra plus algebraic data types). The main techniques are ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2011